<!-- 变量
    var      声明全局变量，可以多次声明，有变量提升效果（在声明之前就能使用）
    let      声明局部变量，只能声明一次，没有变量提示效果（在声明前不能使用）
    const    声明常量，不能修改（修改则报错），常量只能出现一次（重复则报错）
-->





<!-- 数据类型
    typeof()    返回类型

    基本
    number     数字
    string     字符
    boolean    布尔

    空
    null            值为空，类型为object
    undefined       值为undefined，类型为undefined



    arr     列表
    object  字典
 -->






 <!-- 运算符
    算术
        +
        -
        *
        /
        %       取余（0,1）

    赋值
        =
        +=
        -=
        *=
        /=
        %=
        a++     a=20， a++=20,a=21
        ++a     a=20,  ++a=21,a=21

    比较
        >
        >=
        <
        <=
        !=
        ==
        ===     全等    （只比较值，不考虑类型）（a=10，a==10为真，a=="10"为真,a==="10"为假）



    逻辑
        &&      and     左真返右,左假返左
        ||      or      左真返左,左假返右
        !       非      true/fales





    三元运算
        python中是：   "A" if a>b else "B"
        js中是：    console.log(a>b ? "A" : "B")


    位
    成员
-->






<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>js变量使用</title>

    <script>
        // // -----------------------------变量--------------------------------------------


        // // ------------------------------var-------------------------------------------
        // console.log(a);        // 在声明前使用（不报错，结果为未定义）

        // var a        // 声明全局变量a
        // a = 1        // 赋值

        // console.log(a);        // 输出结果10

        // {
        //     console.log(a);        // a是全局变量
        // }


        // // console.log(b);        // 在声明前使用（报错）


        // var c = 3        // 声明全局变量c并赋值
        // console.log(c);



        // // --------------------------let-----------------------------------------------
        // {
        //     let d        // 声明局部变量d并赋值
        //     d = 10
        //     console.log(d);
        // }

        // {
        //     let e = 20        // 声明局部变量e并赋值
        //     console.log(e);
        // }

        // // console.log(e);        // 报错，c是局部变量
        // // console.log(d);        // 报错，d是局部变量



        // // --------------------------const-----------------------------------------------
        // // const a        // 报错，未赋值
        // // a=10
        // // console.log(a);

        // const f = 100
        // console.log(f);
        // // f = 200        // 报错，修改常量的值
        // // console.log(f);




        // ------------------------------数据类型-------------------------------------------
        // var a
        // a = 10
        // console.log(a, typeof (a));     //值为10，类型为num
        // a = 3.14
        // console.log(a, typeof (a));     //值为3.14，类型为num
        // a = "hello"
        // console.log(a, typeof (a));     //值为hello，类型为str
        // a = true
        // console.log(a, typeof (a));     //值为true，类型为bool
        // a = false
        // console.log(a, typeof (a));     //值为false，类型为bool
        // a = null
        // console.log(a, typeof (a));     //值为null，类型为object

        // var b
        // console.log(b, typeof (b));     //值为undefined，类型为undefined


        // ------------------------------运算符-------------------------------------------
        // var a=10,b=20
        // console.log(a+b);
        // console.log(a-b);
        // console.log(a*b);
        // console.log(a/b);
        // console.log(a%b);

        
        // var a=10
        // console.log(a+10);      //  10
        // console.log(a+"10");    //  '1010'


        // var a=10,b=20
        // console.log(a++);   //  10
        // console.log(a);     //  11
        // console.log(++b);   //  21
        // console.log(b);     //  21






    </script>
</head>



<body>





</body>
</html>



